home *** CD-ROM | disk | FTP | other *** search
/ PCMania 64 / PCMania CD64_1.iso / phy / phy005 / memory / memcon1.asm next >
Encoding:
Assembly Source File  |  1997-08-30  |  1.4 KB  |  45 lines

  1. .model tiny
  2. .code
  3.  org 100h
  4.  
  5.  Inicio:        CALL    LiberaMEM
  6.                 MOV     DX, Offset Cad1
  7.                 MOV     AH, 9h
  8.                 INT     21h
  9.  
  10.                 MOV     BX, 1000        ;  Pedimos 4000 bytes.
  11.                 MOV     AH, 48h
  12.                 INT     21h
  13.                 JC     ErrorMEM
  14.                 MOV     ES, AX
  15.  
  16.       ;;;  Aquí podemos usar los primeros 4000 bytes de ES libremente
  17.  
  18.                 MOV     AH, 49h
  19.                 INT     21h
  20.                 JNC    ExitDOS
  21.  
  22.  ErrorMEM:      MOV     DX, Offset Cad2
  23.                 MOV     AH, 9h
  24.                 INT     21h
  25.  ExitDOS:       MOV     AX, 4C00h
  26.                 INT     21h
  27.  
  28. Cad1            DB      'Programa que demuestra como usar bien la memoria del PC',0ah,0dh,'$'
  29. Cad2            DB      'Se ha producido un error en la memoria',0ah,0dh,'$'
  30.  
  31. LiberaMEM       PROC                    ;  Función que libera la memoria
  32.                 MOV     BX, SS          ; reservada por el DOS a nuestro
  33.                 MOV     AX, ES          ; programa y que no es utilizada.
  34.                 SUB     BX, AX          ;  ES debe contener el PSP.
  35.                 MOV     AX, SP
  36.                 ADD     AX, 15d
  37.                 SHR     AX, 4
  38.                 ADD     BX, AX
  39.                 MOV     AH, 4Ah
  40.                 INT     21h
  41.                 RET
  42. LiberaMEM       ENDP
  43.  
  44.                 END     Inicio
  45.